package com.naiterui.ehp.bs.recommend.service;

import com.naiterui.ehp.bp.bo.recommend.param.RebuyNoticeParamBO;
import com.naiterui.ehp.bp.support.exception.BusinessException;

/**
 * 复购提醒业务逻辑处理层
 *
 * @since 2.19
 */
public interface IRebuyNoticeService {

    /**
     * 生成复购提醒记录
     * IRebuyNoticeService.saveRebuyNotice()
     *
     * @param rebuyNoticeParamBO
     *
     * @throws BusinessException
     * @Date 2018年6月27日
     * @since 2.19
     */
    void saveRebuyNotice(Long patientId, Long baseOrderId, RebuyNoticeParamBO rebuyNoticeParamBO) throws BusinessException;

    /**
     * 删除未发送的复购提醒信息
     * IRebuyNoticeService.removeUnsendNotice()
     *
     * @param patientId
     *
     * @throws BusinessException
     * @Date 2018年6月29日
     * @since 2.19
     */
    void removeUnsendNotice(Long patientId, String visitTime) throws BusinessException;

    /**
     * 删除指定订单的复购提醒
     * IRebuyNoticeService.removeByOrderId()
     *
     * @param baseOrderId
     *
     * @throws BusinessException
     * @Date 2018年6月30日
     * @since 2.19
     */
    void removeByOrderId(Long baseOrderId) throws BusinessException;

}
